<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>

    // 数组的遍历方法 => 都是官方封装的 => 用于遍历数组,每次循环时,执行传入的函数   => 记住对应的用法即可

    // 共同点: 用于遍历数组,每次循环时,执行传入的函数

    // 区别:
    // forEach    数组遍历 只是遍历数组
    // map        数组迭代 根据传入的函数的返回值 得到一个新数组
    // filter     数组筛选 根据传入的函数返回的条件表达式, 把满足条件的元素放到新数组
    // some       根据传入的函数返回的条件表达式, 判断数组中是否存在满足条件的元素(有一个满足则返回true 都不满足返回false)
    // every      根据传入的函数返回的条件表达式, 判断数组中的元素是否都满足条件(都满足则返回true 有一个不满足返回false)

    var list = [51, 24, 76, 66, 39, 48, 11];

    var sum = 0;
    list.forEach(function (item, index, array) {
        console.log(item, index, array);
        sum += item;
    })
    console.log(sum);

    list.forEach(function (item, index, array) {
        console.log(item, index, array);
    })

    var result = list.map(function (item, index, array) {
        console.log(item, index, array);
        return item + 100;
    })
    console.log(result);

    var result = list.filter(function (item, index, array) {
        console.log(item, index, array);
        return item % 2 == 0;  //把偶数放到新数组
    })
    console.log(result);

    var result = list.some(function (item, index, array) {
        console.log(item, index, array);
        return item % 2 == 0;  //是否存在偶数 (找到一个即可,后面就不找了 -> true)
    })
    console.log(result);


    var result = list.every(function (item, index, array) {
        console.log(item, index, array);
        return item % 2 == 0;  //是否都是偶数 (找到一个不是偶数的即可 -> false)
    })
    console.log(result);




</script>

</html>